//app.js
var config = require('./config/config'),
	util = require('./utils/util')

App({
	onLaunch: function() {
		// 引入 SDK
		require('./utils/sdk-v1.1.6')
		// 初始化 SDK
		wx.BaaS.init(config.clientID)

		// 展示本地存储能力
		var logs = wx.getStorageSync('logs') || []
		logs.unshift(Date.now())
		wx.setStorageSync('logs', logs)

		//获取用户硬件信息
		wx.getSystemInfo({
			success: function(res) {
				wx.BaaS.storage.set('SysInfo', res)
				util.log(0, 'SysInfo', JSON.stringify(res)) //日志
			}
		})

		// 登录,使用知晓云登录模块，微信用户登录小程序
		wx.BaaS.login().then((res) => {
			// 用户允许授权，res 包含用户完整信息，详见下方描述
			console.log(res)
			//用户数据存储在本地
			this.globalData.userInfo = res
			util.log(0, 'Login', JSON.stringify(res)) //日志

		}, (res) => {
			// 用户拒绝授权，res 包含基本用户信息：id、openid、unionid
			// *Tips*：如果你的业务需要用户必须授权才可进行，由于微信的限制，10 分钟内不可再次弹出授权窗口，此时可以调用 [`wx.authorize`](https://mp.weixin.qq.com/debug/wxadoc/dev/api/authorize.html) 要求用户提供授权
			util.log(0, 'Login', 'false') //日志
			this.globalData.userInfo = false
		})

	},

	onShow: function(options) {
		let that = this
		//场景shareTicket处理
		if(options.hasOwnProperty('shareTicket')) {
			wx.BaaS.storage.set('shareTicket', options.shareTicket)
//			console.log(options.shareTicket)
			//处理群参数
			wx.getShareInfo({
				shareTicket: options.shareTicket,
				success: function(res) {
					wx.BaaS.wxDecryptData(res.encryptedData, res.iv, 'open-gid').then((Data) => {
						//解密成功
						if(Data.hasOwnProperty('openGId')) {
							let MyUser = new wx.BaaS.User()
							let currentUser = MyUser.getCurrentUserWithoutData()
							//更新用户字段
							currentUser.uAppend('gids', Data.openGId).update().then((res) => {
								// success		console.log('更新GID', res.data)
								util.log(0, 'Update', gids + '_' + Data.openGId) //日志
							})
						}
					}, (err) => {
						// 失败的原因有可能是以下几种：用户未登录或 session_key 过期，微信解密插件未开启，提交的解密信息有误
						console.log('出错' + err)
					})
				},
				fail: function(err) {
					console.log('getshare fail')
				}
			})
		} else {
			wx.BaaS.storage.set('shareTicket', false)
		}

		//检查登录态
		wx.checkSession({
			success: function() {
				//session 未过期，并且在本生命周期一直有效
				util.getCoin() //获取当前用户币数
			},
			fail: function() {
				//登录态过期
				util.showToast('请授权')
				// 微信用户登录小程序
				wx.BaaS.login().then((res) => {
					// 用户允许授权，res 包含用户完整信息，详见下方描述
					util.changeCoin(res.id * 1, 5, true, '登录') //登录金币+5

					util.getCoin() //获取币数
					//用户数据存储在本地
					that.globalData.userInfo = res
					util.log(0, 'ReLogin', JSON.stringify(res)) //日志

					//入口足迹
					let pages = getCurrentPages()
					let Page = pages[0]
					Page.route = '/' + Page.route
					util.log(3, 'UserView', Page.route) //日志

					wx.reLaunch({
						url: Page.route
					})
				})

			}
		})
	},

	//本地数据
	globalData: {
		userInfo: null
	}
})